package pay.entity;


import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

@Data
@TableName("goods")
public class GoodsEntity extends BaseEntity {
    private Integer id;
    /**
     * 商品所属用户 ID，默认0为莫吾，预留后期分账使用
     */
    private String belongUserId;
    /**
     * 商品所属方分账金额比例，预留字段
     */
    private BigDecimal ratio;
    /**
     * 商品类型 1.会员  2.赛事项目  3.增值服务包  4.活动项目  5.场地预约
     */
    private Integer goodsType;
    /**
     * 关联子商品ID，英文,分割
     */
    private String childrenGoodsIds;
    /**
     * 商品名称
     */
    private String goodsName;
    /**
     * 商品主图
     */
    private String goodsImage;
    /**
     * 关联项目ID
     */
    private Integer relateProjectId;
    /**
     * 价格
     */
    private BigDecimal price;
    /**
     * 总库存
     */
    private Integer stock;
    /**
     * 已售
     */
    private Integer saled;
    /**
     * 商品描述，存入富文本
     */
    @TableField("`desc`")
    private String desc;
    /**
     * 天数时长，goods_type 为1时需要
     */
    private Integer days;
    /**
     * 预留字段，需要时存入 json string
     */
    private String reserve;
    /**
     * 订单创建之后是否可加购子商品
     * 0 不可加购
     * 1 可加购
     */
    private Integer canAdd;
    /**
     * 子商品是否可多选
     * 0 不可多选
     * 1 可多选
     */
    private Integer canMultiple;
    /**
     * 是否需核销
     * 0 无需核销
     * 1 需核销
     */
    private Integer needVerification;
    /**
     * 每笔订单限购数量
     */
    @TableField("`limit`")
    private Integer limit;
    /**
     * 核销条件
     * 0 无前置条件
     * 1 需完赛才可以核销
     */
    private Integer verificationCondition;
    /**
     * 是否支持邮寄
     * 0 不支持
     * 1 支持
     */
    private Integer canPost;
    /**
     * 不可邮寄理由
     */
    private String reasonForNoshippable;
    /**
     * 子商品列表
     */
    @TableField(exist = false)
    private List<GoodsEntity> childrenList;

}
